In a source routing network environment, forwarding of data flows is defined by a source within the network. A source may be, for example, any network entity or endpoint able to support Segment Routing (e.g., SRv6). The underlying network fabric typically would not have any information regarding the future paths taken by source routed data flows. As such, optimizing the underlying Layer 3 fabric may not be possible without tracking and learning source routing behavior over time.